package io.bba.boot.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.bba.boot.framework.page.Paging;
import io.bba.boot.app.dto.CrawlerUrlDto;
import io.bba.boot.app.entity.CrawlerUrl;
import io.bba.boot.app.query.CrawlerUrlQuery;
import io.bba.boot.app.vo.CrawlerUrlVo;
import io.bba.boot.app.query.AppCrawlerUrlQuery;
import io.bba.boot.app.vo.AppCrawlerUrlVo;

import java.util.List;


/**
 * 采集记录 服务接口
 *
 * @author zs
 * @since 2024-03-19
 */
public interface CrawlerUrlService extends IService<CrawlerUrl> {

    /**
     * 添加采集记录
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addCrawlerUrl(CrawlerUrlDto dto);

    /**
     * 修改采集记录
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateCrawlerUrl(CrawlerUrlDto dto);

    /**
     * 删除采集记录
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteCrawlerUrl(Long id);

    /**
     * 采集记录详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    CrawlerUrlVo getCrawlerUrlById(Long id);

    /**
     * 采集记录分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<CrawlerUrlVo> getCrawlerUrlPage(CrawlerUrlQuery query);

    /**
     * App采集记录详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppCrawlerUrlVo getAppCrawlerUrlById(Long id);

    /**
     * App采集记录分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppCrawlerUrlVo> getAppCrawlerUrlPage(AppCrawlerUrlQuery query);
}
